{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {
    "heading_collapsed": true
   },
   "source": [
    "# Sigmoid激活函数"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "hidden": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x7f710e6aacc0>]"
      ]
     },
     "execution_count": 1,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\nAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f7138072dd8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import math\n",
    "def sigmoid(x):\n",
    "    return 1 / (1 + math.exp(-x))\n",
    "import numpy as np\n",
    "x = np.arange(-6, 6, 0.001)\n",
    "y = np.array([sigmoid(xx) for xx in x])\n",
    "\n",
    "from matplotlib import pyplot as plt\n",
    "%matplotlib inline\n",
    "plt.figure(figsize=(50, 35))\n",
    "plt.plot(x, y)\n",
    "plt.plot(x, np.zeros(x.shape) + 0.5, color='r')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 识别验证码"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "heading_collapsed": true
   },
   "source": [
    "## 创建数据集"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "hidden": true
   },
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "from PIL import Image, ImageDraw, ImageFont\n",
    "from skimage import transform as tf"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {
    "hidden": true
   },
   "outputs": [],
   "source": [
    "def create_captcha(text, shear=0, size=(100,24)):\n",
    "    im = Image.new(\"L\", size, \"black\")\n",
    "    draw = ImageDraw.Draw(im)\n",
    "    font = ImageFont.truetype(r\"./data/Coval-Book.otf\", 22)\n",
    "    draw.text((0, 0), text, fill=1, font=font)\n",
    "    image = np.array(im)\n",
    "    affine_tf = tf.AffineTransform(shear=shear)\n",
    "    image = tf.warp(image, affine_tf)\n",
    "    return image / image.max()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {
    "hidden": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.image.AxesImage at 0x7f31691df048>"
      ]
     },
     "execution_count": 48,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXQAAABzCAYAAACIEflfAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAADbxJREFUeJzt3X2MFdUZBvDn6YLfSV1aslqhYhUxqxFpwNhgKn6j9QNF\nKVqVKA0J2lQqxlCjfzRqgin2w7SabECLQkAERWK0arZilFSzWkRZdFVUCgQQi1ZTP0nf/nHHs2em\nO7Ozc+feu3fm+SVk37lz7pl3zhlO7r577x2aGUREpPl9q9EJiIhIPrSgi4gUhBZ0EZGC0IIuIlIQ\nWtBFRApCC7qISEFoQRcRKYiqFnSSk0n2kHyH5Ly8khIRkYFj1g8WkWwB8BaAMwFsA9AF4DIz25Rf\neiIiktaQKp57IoB3zOxdACC5HMCFAGIXdJL6WKqIyMB9aGbD+2tUTcnlMABbve1twWMiIpKvLWka\nVfMKPRWSswDMqvVxRETKrpoFfTuAkd72iOCxEDPrANABqOQiIlJL1ZRcugCMJnkEyX0ATAewJp+0\nRERkoDK/QjezvSR/AeApAC0A7jOz7twyExGRAcn8tsVMB1PJRUQki1fMbHx/jfRJURGRgtCCLiJS\nEFrQRUQKQgu6iEhBaEEXESkILegiIgWhBV1EpCC0oIuIFIQWdBGRgtCCLiJSEDX/+txGmThxoouP\nOeaYqvt74YUXXNzT0zPgHPLKo1ppzyNr7lnGKUncPPrHSTrWYJ8DIJ9xEgH0Cl1EpDC0oIuIFERT\nf9vifvvt5+Lor9aHHHKIi5csWVL1sXbt2uXiqVOnhvatW7euz+ccfvjhoe3333+/6jyqtWVL752s\nRo0aFdsua+5p+0/Lz8PPwT9O0rEG+xwA+YyTFJ6+bVFEpEy0oIuIFIQWdBGRgmjqGnpbW5uLOzo6\nQvsuuOACF/v1708//TTX4wLA7NmzXbx06dLY5z344IMuvuKKK2Lb5Z1vnLlz54a216yJvyVs2tx9\nN9xwg4sXLlwY2pflvJJy8LebaQ6A8DwkzYGUmmroIiJlogVdRKQgmrrkcvzxx7t4w4YNse1ee+01\nF48dO7bq40Y/bfjQQw+l6r+9vd3F3d3dse02bdrk4mOPPTZLirlLm/vevXtdPGRI7weR/XMCsp1X\nUg5px6yZ50BKTSUXEZEy0YIuIlIQTV1yWbRokYsvv/zy0D7/U6TXXHONi5ctWxZq98UXX1SdR2tr\nq4s///zzVH0/+uijLp4yZUpsu4suusjFq1evzppirpJy98d62rRpLp48eXKoXbXn5ecQzSNt31nm\noL8+RWpEJRcRkTLpd0EneR/JD0hu9B4bRvIZkm8HP1uT+hARkdpL8wr9LwAmRx6bB6DTzEYD6Ay2\nRUSkgVLV0EmOAvC4mR0XbPcAmGRmO0geCmCtmY1J0U+uNfTx43tLSl1dXaF9b775posvvfRSF2/c\nuBGDQVLuvpdfftnFEyZMqGlOaSXl7uc7adIkF/v1dAC4++67XbxixQoXz5w5c8A5RPNIO2ZZ5qC/\nPkVqpKY19DYz2xHEOwG0JTUWEZHaq/oWdGZmSa+8Sc4CMKva44iISLKmLrn4nnrqqdD2WWed5eKz\nzz7bxU8//XStUsgsKXeffx7A4DiXrOPuPy/uOX09L00eWfpLOwfRPgfDHEgp1LTksgbAjCCeAeCx\njP2IiEhO0rxtcRmAvwMYQ3IbyZkA5gM4k+TbAM4ItkVEpIGa+pOi/r0Y77jjjtA+/5Ojzz33nIv9\nd14MFqecckpoe+3atX22888DGBznkpR70riPHDnSxbfccouLzznnnFC722+/3cXR77yPyyMuh77y\n6Ov50T6iBvv1JIWkT4qKiJSJFnQRkYLQgi4iUhBNXUP3Pf/886Htk08+uc920cfXrVtXq5Qy888l\n7jwAYMGCBS7evHlzrjlEv1Fw586dqZ4Xl3vacU+aRz9Omrek8cujD99gnAMpJNXQRUTKRAu6iEhB\nFKbkEn272xNPPNFnuyeffDK0fe655w74WMOHDw9tR78oKs7u3btdHP3CJ59/LnHnUWtZxyku97T9\nRcfy3nvv7bPd7NmzQ9v+eCaNn59H0jk18xxIIankIiJSJlrQRUQKQgu6iEhBFKaGHrV+/XoXn3DC\nCbHtxo0b5+JXX321psfyXXzxxS6O1kr9m0un7fu9997r8/l58fP1bx6SJCn3LOOepT//OdHnpc0h\nqQ+fPwdA/vOQZQ6kMFRDFxEpEy3oIiIFUdiSy5QpU1y8fPlyF++7776hditXrnSxf+/RrMdaunRp\nbLuWlpY+8/BziOZxySWXuPjhhx+O7TuP88hbUu5Z8o2bUyBctpo+fbqLzz///FA7P4+0OfjnEe3D\nlzSPIlVSyUVEpEy0oIuIFERhSy6+1tZWF3d1dYX2HXnkkS4eMyZ8W9S33nqrqmP5JZaoF198sc8c\nonn4OfT09ITaHX300X32ncd55C0p97jzTeKPMxCe12HDhrl4woQJoXb+pz7jcugvD/9c4uYg2udg\nmANpaiq5iIiUiRZ0EZGC0IIuIlIQpaih+6666qrQ9uLFi138wAMPhPbNmDGjLnn4OUTz8HNIyj3u\n+dE+GiXtuGfNNW48o2PR2dmZql1SHklz58vjvEQCqqGLiJSJFnQRkYIoXcklauvWrS4eMWJEaJ//\nFrcrr7zSxXv27KlZDtE8/Hj79u2xz4vmHtdftI9Gics9eh5Z8vVvTrFkyZLQPv/toqeeeqqL999/\n/1C7tGPWzHMgTSWfkgvJkSSfJbmJZDfJ64PHh5F8huTbwc/W/voSEZHaSVNy2Qtgrpm1AzgJwHUk\n2wHMA9BpZqMBdAbbIiLSIAMuuZB8DMCfgn+TzGwHyUMBrDWzMf08d9CVXMaOHeviW2+9NbRv6tSp\nLt6wYYOLb7vttlC7VatWVZVD9P6Y99xzj4v9e2pee+21sc/znxOV1EejxOUevYdotfkmjW2StGPW\nzHMgTSX/d7mQHAVgHICXALSZ2Y5g104AbQNMUEREcjQkbUOSBwFYBWCOmX1C0u0zM4t79U1yFoBZ\n1SYqIiLJUr1CJzkUlcV8qZk9Ejy8Kyi1IPj5QV/PNbMOMxuf5tcFERHJrt8aOisvxRcD2GNmc7zH\nfwvgX2Y2n+Q8AMPM7KZ++hp0NfQk8+fPd/GcOe7U/+8mGfPm9f49+LPPPqv6uHfeeaeL/bfT+d8i\nCAAfffSRi/23Uka/idCXd65JOjo6XPzll1/GtkvK3T9n/3yzSjuncTkk5RF9O2vcPPhzANR2HtLO\ngQx6qWroaUouEwFcCeB1kt/cSfdmAPMBrCA5E8AWANOyZioiItXrd0E3sxcAMGb36fmmIyIiWZX+\nk6Jp+fezvPrqq0P7jjrqKBe3t7dXfazNmze7uLu728WrV68Otbv//vtdPHfuXBcvWLCg6hzycNdd\nd7n4xhtvjG2XlHvaPrJIO2Z+Dkl5+P3112e91HL8pK705VwiImWiBV1EpCC0oIuIFIRq6Dnzb1Y8\ndOjQqvvzb3L89ddfDziHvPKoVvRmzXHnkpR7lrFIayBjljaPvK+FaqWdAxmUVEMXESkTLegiIgVR\n75LLbgD/AfBh3Q46uH0XGotvaCx6aSx6aSwqDjez4f01quuCDgAkX9b3ulRoLHppLHppLHppLAZG\nJRcRkYLQgi4iUhCNWNA7+m9SGhqLXhqLXhqLXhqLAah7DV1ERGpDJRcRkYKo64JOcjLJHpLvBDfF\nKA2SI0k+S3ITyW6S1wePDyP5DMm3g5/xd6coGJItJNeTfDzYPoLkS8H18RDJfRqdYz2QPJjkSpJv\nknyD5I/Kel2Q/FXw/2MjyWUk9yvrdZFF3RZ0ki0A/gzgHADtAC4jWf13zTaPvQDmmlk7gJMAXBec\n/zwAnWY2GkBnsF0W1wN4w9u+E8DvzewoAB8BmNmQrOrvjwD+ambHABiLypiU7rogeRiAXwIYb2bH\nAWgBMB3lvS4GrJ6v0E8E8I6ZvWtmXwFYDuDCOh6/ocxsh5n9I4g/ReU/7WGojMHioNliAFP67qFY\nSI4A8BMAC4NtAjgNwMqgSSnGguS3AfwYwCIAMLOvzOxjlPS6QOWmO/uTHALgAAA7UMLrIqt6LuiH\nAdjqbW8LHisdkqMAjAPwEoA2M9sR7NoJoK1BadXbHwDcBOC/wfZ3AHxsZnuD7bJcH0cA2A3g/qD8\ntJDkgSjhdWFm2wEsAPBPVBbyfwN4BeW8LjLRH0XrjORBAFYBmGNmn/j7rPKWo8K/7YjkeQA+MLNX\nGp3LIDAEwA8B3Gtm41D5aoxQeaVE10UrKr+ZHAHgewAOBDC5oUk1mXou6NsBjPS2RwSPlQbJoags\n5kvN7JHg4V0kDw32Hwrgg0blV0cTAVxA8n1USm+noVJHPjj4VRsoz/WxDcA2M3sp2F6JygJfxuvi\nDADvmdluM/sawCOoXCtlvC4yqeeC3gVgdPAX631Q+WPHmjoev6GCGvEiAG+Y2e+8XWsAzAjiGQAe\nq3du9WZmvzazEWY2CpXr4G9m9jMAzwK4JGhWlrHYCWAryTHBQ6cD2IQSXheolFpOInlA8P/lm7Eo\n3XWRVb2/bfFcVGqnLQDuM7M76nbwBiN5MoDnAbyO3rrxzajU0VcA+D6ALQCmmdmehiTZACQnAbjR\nzM4j+QNUXrEPA7AewBVm9mUj86sHkieg8sfhfQC8C+BqVF5sle66IPkbAD9F5V1h6wH8HJWaeemu\niyz0SVERkYLQH0VFRApCC7qISEFoQRcRKQgt6CIiBaEFXUSkILSgi4gUhBZ0EZGC0IIuIlIQ/wNH\ncZ80HmqO+gAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f3169a9aa90>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "%matplotlib inline\n",
    "from matplotlib import pyplot as plt\n",
    "image = create_captcha(\"GENE\", shear=0.5)\n",
    "plt.imshow(image, cmap=\"gray\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "metadata": {
    "hidden": true
   },
   "outputs": [],
   "source": [
    "from skimage.measure import label, regionprops\n",
    "\n",
    "def segment_image(image):\n",
    "    labeled_image = label(image > 0)\n",
    "    subimages = []\n",
    "    for region in regionprops(labeled_image):\n",
    "        start_x, start_y, end_x, end_y = region.bbox\n",
    "        subimages.append(image[start_x:end_x, start_y:end_y])\n",
    "    if len(subimages) == 0:\n",
    "        return [image,]\n",
    "    return subimages"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "metadata": {
    "hidden": true
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nBnSmAAAAMvj/ZqUo/VLk7bcAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f3168f966a0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "subimages = segment_image(image)\n",
    "f, axes = plt.subplots(1, len(subimages), figsize=(10, 3))\n",
    "for i in range(len(subimages)):\n",
    "    axes[i].imshow(subimages[i], cmap=\"gray\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "metadata": {
    "hidden": true
   },
   "outputs": [],
   "source": [
    "from sklearn.utils import check_random_state\n",
    "random_state = check_random_state(14)\n",
    "letters = list(\"ACBDEFGHIJKLMNOPQRSTUVWXYZ\")\n",
    "shear_values = np.arange(0, 0.5, 0.05)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "metadata": {
    "hidden": true
   },
   "outputs": [],
   "source": [
    "def generate_sample(random_state=None):\n",
    "    random_state = check_random_state(random_state)\n",
    "    letter = random_state.choice(letters)\n",
    "    shear = random_state.choice(shear_values)\n",
    "    return create_captcha(letter, shear=shear, size=(20, 20)), letters.index(letter)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "metadata": {
    "hidden": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The target for this image is: 11\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f31696eebe0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "image, target = generate_sample(random_state)\n",
    "plt.imshow(image, cmap=\"gray\")\n",
    "print(\"The target for this image is: {0}\".format(target))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "metadata": {
    "hidden": true
   },
   "outputs": [],
   "source": [
    "dataset, targets = zip(*(generate_sample(random_state) for i in\n",
    "range(3000)))\n",
    "dataset = np.array(dataset, dtype='float')\n",
    "targets = np.array(targets)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "metadata": {
    "hidden": true
   },
   "outputs": [],
   "source": [
    "from sklearn.preprocessing import OneHotEncoder\n",
    "onehot = OneHotEncoder()\n",
    "y = onehot.fit_transform(targets.reshape(targets.shape[0],1))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 57,
   "metadata": {
    "hidden": true
   },
   "outputs": [],
   "source": [
    "y = y.todense()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 58,
   "metadata": {
    "hidden": true
   },
   "outputs": [],
   "source": [
    "from skimage.transform import resize"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 59,
   "metadata": {
    "hidden": true
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/home/dlinking-lxy/more-space/pyworks/venv/lib/python3.5/site-packages/skimage/transform/_warps.py:84: UserWarning: The default mode, 'constant', will be changed to 'reflect' in skimage 0.15.\n",
      "  warn(\"The default mode, 'constant', will be changed to 'reflect' in \"\n"
     ]
    }
   ],
   "source": [
    "dataset = np.array([resize(segment_image(sample)[0], (20, 20)) for\n",
    "sample in dataset])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 60,
   "metadata": {
    "hidden": true
   },
   "outputs": [],
   "source": [
    "X = dataset.reshape((dataset.shape[0], dataset.shape[1] *\n",
    "dataset.shape[2]))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 61,
   "metadata": {
    "hidden": true
   },
   "outputs": [],
   "source": [
    "from sklearn.cross_validation import train_test_split\n",
    "X_train, X_test, y_train, y_test = train_test_split(X, y, train_size=0.9)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 训练和分类\n",
    "安装pybrain包务必用以下方法\n",
    "```\n",
    "pip install https://github.com/pybrain/pybrain/archive/0.3.3.zip\n",
    "```"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 63,
   "metadata": {},
   "outputs": [],
   "source": [
    "from pybrain.datasets import SupervisedDataSet"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 64,
   "metadata": {},
   "outputs": [],
   "source": [
    "training = SupervisedDataSet(X.shape[1], y.shape[1])\n",
    "for i in range(X_train.shape[0]):\n",
    "    training.addSample(X_train[i], y_train[i])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 65,
   "metadata": {},
   "outputs": [],
   "source": [
    "testing = SupervisedDataSet(X.shape[1], y.shape[1])\n",
    "for i in range(X_test.shape[0]):\n",
    "    testing.addSample(X_test[i], y_test[i])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 66,
   "metadata": {},
   "outputs": [],
   "source": [
    "from pybrain.tools.shortcuts import buildNetwork\n",
    "net = buildNetwork(X.shape[1], 100, y.shape[1], bias=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 67,
   "metadata": {},
   "outputs": [],
   "source": [
    "from pybrain.supervised.trainers import BackpropTrainer\n",
    "trainer = BackpropTrainer(net, training, learningrate=0.01,\n",
    "weightdecay=0.01)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 68,
   "metadata": {},
   "outputs": [],
   "source": [
    "trainer.trainEpochs(epochs=20)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 69,
   "metadata": {},
   "outputs": [],
   "source": [
    "predictions = trainer.testOnClassData(dataset=testing)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 77,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "F-score: 0.86\n"
     ]
    }
   ],
   "source": [
    "from sklearn.metrics import f1_score\n",
    "print(\"F-score: {0:.2f}\".format(f1_score(predictions, y_test.argmax(axis=1),average='micro')))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 78,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "             precision    recall  f1-score   support\n",
      "\n",
      "          0       1.00      1.00      1.00        10\n",
      "          1       1.00      0.91      0.95        11\n",
      "          2       1.00      1.00      1.00        11\n",
      "          3       1.00      1.00      1.00        12\n",
      "          4       1.00      0.33      0.50        15\n",
      "          5       0.47      1.00      0.64         9\n",
      "          6       1.00      1.00      1.00        10\n",
      "          7       0.93      1.00      0.96        13\n",
      "          8       0.43      1.00      0.61        10\n",
      "          9       1.00      0.46      0.63        13\n",
      "         10       1.00      1.00      1.00         8\n",
      "         11       0.53      0.67      0.59        12\n",
      "         12       0.90      1.00      0.95         9\n",
      "         13       1.00      1.00      1.00        15\n",
      "         14       0.47      1.00      0.64         9\n",
      "         15       1.00      1.00      1.00        14\n",
      "         16       0.00      0.00      0.00         7\n",
      "         17       1.00      1.00      1.00        17\n",
      "         18       1.00      1.00      1.00        12\n",
      "         19       1.00      1.00      1.00        14\n",
      "         20       0.00      0.00      0.00        13\n",
      "         21       1.00      1.00      1.00         8\n",
      "         22       1.00      1.00      1.00        17\n",
      "         23       1.00      1.00      1.00         9\n",
      "         24       1.00      1.00      1.00        11\n",
      "         25       1.00      1.00      1.00        11\n",
      "\n",
      "avg / total       0.86      0.86      0.84       300\n",
      "\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/home/dlinking-lxy/more-space/pyworks/venv/lib/python3.5/site-packages/sklearn/metrics/classification.py:1113: UndefinedMetricWarning: Precision and F-score are ill-defined and being set to 0.0 in labels with no predicted samples.\n",
      "  'precision', 'predicted', average, warn_for)\n"
     ]
    }
   ],
   "source": [
    "from sklearn.metrics import classification_report\n",
    "print(classification_report(y_test.argmax(axis=1), predictions))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 80,
   "metadata": {},
   "outputs": [],
   "source": [
    "def predict_captcha(captcha_image, neural_network):\n",
    "    subimages = segment_image(captcha_image)\n",
    "    predicted_word = \"\"\n",
    "    for subimage in subimages:\n",
    "        subimage = resize(subimage, (20, 20))\n",
    "        outputs = net.activate(subimage.flatten())\n",
    "        prediction = np.argmax(outputs)\n",
    "        predicted_word += letters[prediction]\n",
    "    return predicted_word"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 81,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "TNR\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/home/dlinking-lxy/more-space/pyworks/venv/lib/python3.5/site-packages/skimage/transform/_warps.py:84: UserWarning: The default mode, 'constant', will be changed to 'reflect' in skimage 0.15.\n",
      "  warn(\"The default mode, 'constant', will be changed to 'reflect' in \"\n"
     ]
    }
   ],
   "source": [
    "word = \"GENE\"\n",
    "captcha = create_captcha(word, shear=0.2)\n",
    "print(predict_captcha(captcha, net))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 84,
   "metadata": {},
   "outputs": [],
   "source": [
    "def test_prediction(word, net, shear=0.2):\n",
    "    captcha = create_captcha(word, shear=shear)\n",
    "    prediction = predict_captcha(captcha, net)\n",
    "    prediction = prediction[:4]\n",
    "    return word == prediction, word, prediction"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 88,
   "metadata": {},
   "outputs": [],
   "source": [
    "from nltk.corpus import words\n",
    "valid_words = [word.upper() for word in words.words() if len(word) == 4]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "\n",
    "```python\n",
    "LookupError: \n",
    "**********************************************************************\n",
    "  Resource words not found.\n",
    "  Please use the NLTK Downloader to obtain the resource:\n",
    "\n",
    "  >>> import nltk\n",
    "  >>> nltk.download('words')\n",
    "  \n",
    "  Searched in:\n",
    "    - '/home/dlinking-lxy/nltk_data'\n",
    "    - '/usr/share/nltk_data'\n",
    "    - '/usr/local/share/nltk_data'\n",
    "    - '/usr/lib/nltk_data'\n",
    "    - '/usr/local/lib/nltk_data'\n",
    "    - '/home/dlinking-lxy/more-space/pyworks/venv/nltk_data'\n",
    "    - '/home/dlinking-lxy/more-space/pyworks/venv/lib/nltk_data'\n",
    "**********************************************************************\n",
    "```\n",
    "如果出现以上错误，运行\n",
    "```python\n",
    "import nltk\n",
    "nltk.download('words')\n",
    "```"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 90,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/home/dlinking-lxy/more-space/pyworks/venv/lib/python3.5/site-packages/skimage/transform/_warps.py:84: UserWarning: The default mode, 'constant', will be changed to 'reflect' in skimage 0.15.\n",
      "  warn(\"The default mode, 'constant', will be changed to 'reflect' in \"\n"
     ]
    }
   ],
   "source": [
    "num_correct = 0\n",
    "num_incorrect = 0\n",
    "for word in valid_words:\n",
    "    correct, word, prediction = test_prediction(word, net, shear=0.2)\n",
    "    if correct:\n",
    "        num_correct += 1\n",
    "    else:\n",
    "        num_incorrect += 1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 91,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number correct is 153\n",
      "Number incorrect is 5360\n"
     ]
    }
   ],
   "source": [
    "print(\"Number correct is {0}\".format(num_correct))\n",
    "print(\"Number incorrect is {0}\".format(num_incorrect))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 92,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.metrics import confusion_matrix\n",
    "cm = confusion_matrix(np.argmax(y_test, axis=1), predictions)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 93,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.image.AxesImage at 0x7f316167f390>"
      ]
     },
     "execution_count": 93,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABGQAAARiCAYAAADiLSHYAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3V2I5Wdhx/HnqYMEjZA02cbgG22wASEqdNdCK9TS+NKC\n2EogzZUEIS0iCL0SepF415taCjaWlPjSi6YpQakFqY1CkWIvNoXWpNCgSKRZ1CQYi14EiX16M0K0\nSfY4M/v97579fGCYOWf/u/8fAwvDl+ecmWutAQAAAEDn57YeAAAAAHC5EWQAAAAAYoIMAAAAQEyQ\nAQAAAIgJMgAAAAAxQQYAAAAgJsgAAAAAxAQZAAAAgJggAwAAABATZAAAAABiB+XNXvqKq9bLrrm+\nvOWR3HDNy7eeAAAAAFyCvvnNx8ZTTz01z3ddGmReds314zf++K/LWx7J/bef2XoCAAAAcAn69V89\nvdN1XrIEAAAAEBNkAAAAAGKCDAAAAEBMkAEAAACICTIAAAAAMUEGAAAAICbIAAAAAMQEGQAAAICY\nIAMAAAAQE2QAAAAAYoIMAAAAQEyQAQAAAIgJMgAAAAAxQQYAAAAgJsgAAAAAxI4VZOac75pzPjrn\n/Pqc88MnNQoAAABgnx05yMw5XzLG+Isxxm+PMd4wxrhtzvmGkxoGAAAAsK+Oc0LmLWOMr6+1vrHW\n+uEY42/HGO85mVkAAAAA++s4QeZVY4z/fs7jxw+fAwAAAOBFXPA39Z1z3jHnfGjO+dAPv/+9C307\nAAAAgIvecYLMuTHGa57z+NWHz/2EtdY9a63Ta63TL33FVce4HQAAAMB+OE6QOTvGeP2c8xfnnC8d\nY/z+GONzJzMLAAAAYH8dHPUvrrWenXN+cIzxhTHGS8YYn1hr/eeJLQMAAADYU0cOMmOMsdb6/Bjj\n8ye0BQAAAOCycMHf1BcAAACAnyTIAAAAAMQEGQAAAICYIAMAAAAQE2QAAAAAYoIMAAAAQEyQAQAA\nAIgJMgAAAAAxQQYAAAAgJsgAAAAAxAQZAAAAgJggAwAAABATZAAAAABiggwAAABATJABAAAAiB2U\nN7vhmpeP+28/U97ySG795NmtJ+zkUvheAgC7+cEzz249YSdXXpH++AgAe8sJGQAAAICYIAMAAAAQ\nE2QAAAAAYoIMAAAAQEyQAQAAAIgJMgAAAAAxQQYAAAAgJsgAAAAAxAQZAAAAgJggAwAAABATZAAA\nAABiggwAAABATJABAAAAiAkyAAAAADFBBgAAACAmyAAAAADEBBkAAACAmCADAAAAEBNkAAAAAGKC\nDAAAAEBMkAEAAACICTIAAAAAMUEGAAAAICbIAAAAAMQEGQAAAICYIAMAAAAQE2QAAAAAYoIMAAAA\nQEyQAQAAAIgJMgAAAAAxQQYAAAAgJsgAAAAAxAQZAAAAgJggAwAAABATZAAAAABiggwAAABATJAB\nAAAAiAkyAAAAADFBBgAAACAmyAAAAADEBBkAAACA2MHWAy5G999+ZusJO3n7n//L1hN28uCH3rr1\nBAC46F15hR/LAOBy4oQMAAAAQEyQAQAAAIgJMgAAAAAxQQYAAAAgJsgAAAAAxAQZAAAAgJggAwAA\nABATZAAAAABiggwAAABATJABAAAAiAkyAAAAADFBBgAAACAmyAAAAADEBBkAAACAmCADAAAAEBNk\nAAAAAGKCDAAAAEBMkAEAAACICTIAAAAAMUEGAAAAICbIAAAAAMQEGQAAAICYIAMAAAAQE2QAAAAA\nYoIMAAAAQEyQAQAAAIgJMgAAAAAxQQYAAAAgJsgAAAAAxAQZAAAAgJggAwAAABATZAAAAABiggwA\nAABATJABAAAAiAkyAAAAADFBBgAAACAmyAAAAADEBBkAAACAmCADAAAAEBNkAAAAAGIHWw/g6B78\n0Fu3nrCTMx/54tYTzuvsnTdvPQEAAIDLiBMyAAAAADFBBgAAACAmyAAAAADEBBkAAACAmCADAAAA\nEBNkAAAAAGKCDAAAAEBMkAEAAACICTIAAAAAMUEGAAAAICbIAAAAAMQEGQAAAICYIAMAAAAQE2QA\nAAAAYoIMAAAAQEyQAQAAAIgJMgAAAAAxQQYAAAAgJsgAAAAAxAQZAAAAgJggAwAAABATZAAAAABi\nggwAAABATJABAAAAiAkyAAAAADFBBgAAACAmyAAAAADEBBkAAACAmCADAAAAEBNkAAAAAGKCDAAA\nAEBMkAEAAACICTIAAAAAMUEGAAAAICbIAAAAAMQEGQAAAICYIAMAAAAQE2QAAAAAYoIMAAAAQEyQ\nAQAAAIgJMgAAAACxg60HsP/O3nnz1hPO658ffXLrCTv5+Fce23rCTu6//czWEwAAAC5qTsgAAAAA\nxAQZAAAAgJggAwAAABATZAAAAABiggwAAABATJABAAAAiAkyAAAAADFBBgAAACAmyAAAAADEBBkA\nAACAmCADAAAAEBNkAAAAAGKCDAAAAEBMkAEAAACICTIAAAAAMUEGAAAAICbIAAAAAMQEGQAAAICY\nIAMAAAAQE2QAAAAAYoIMAAAAQEyQAQAAAIgJMgAAAAAxQQYAAAAgJsgAAAAAxAQZAAAAgJggAwAA\nABATZAAAAABiggwAAABATJABAAAAiAkyAAAAADFBBgAAACAmyAAAAADEBBkAAACAmCADAAAAEBNk\nAAAAAGKCDAAAAEBMkAEAAACICTIAAAAAMUEGAAAAICbIAAAAAMQOth4AF4O33Xhq6wk7+buHv731\nBAAAAE6AEzIAAAAAMUEGAAAAICbIAAAAAMQEGQAAAICYIAMAAAAQE2QAAAAAYoIMAAAAQEyQAQAA\nAIgJMgAAAAAxQQYAAAAgJsgAAAAAxAQZAAAAgJggAwAAABATZAAAAABiggwAAABATJABAAAAiAky\nAAAAALGD4/zlOedjY4zvjzF+NMZ4dq11+iRGAQAAAOyzYwWZQ7+51nrqBP4dAAAAgMuClywBAAAA\nxI4bZNYY45/mnP8257zjJAYBAAAA7LvjvmTprWutc3POXxhjPDjn/K+11pefe8FhqLljjDFe89rX\nHvN2AAAAAJe+Y52QWWudO/z8xBjjs2OMtzzPNfestU6vtU6fuvbUcW4HAAAAsBeOHGTmnC+fc77i\nx1+PMd4xxnjkpIYBAAAA7KvjvGTpujHGZ+ecP/53/mat9Y8nsgoAAABgjx05yKy1vjHGeNMJbgEA\nAAC4LPi11wAAAAAxQQYAAAAgJsgAAAAAxAQZAAAAgJggAwAAABATZAAAAABiggwAAABATJABAAAA\niAkyAAAAADFBBgAAACAmyAAAAADEBBkAAACAmCADAAAAEBNkAAAAAGKCDAAAAEDsYOsBwO7uvuWm\nrSfs5NZPnt16wk7uv/3M1hMAAIDLlBMyAAAAADFBBgAAACAmyAAAAADEBBkAAACAmCADAAAAEBNk\nAAAAAGKCDAAAAEBMkAEAAACICTIAAAAAMUEGAAAAICbIAAAAAMQEGQAAAICYIAMAAAAQE2QAAAAA\nYoIMAAAAQEyQAQAAAIgJMgAAAAAxQQYAAAAgJsgAAAAAxAQZAAAAgJggAwAAABATZAAAAABiggwA\nAABATJABAAAAiAkyAAAAADFBBgAAACAmyAAAAADEBBkAAACAmCADAAAAEBNkAAAAAGKCDAAAAEBM\nkAEAAACICTIAAAAAMUEGAAAAICbIAAAAAMQEGQAAAICYIAMAAAAQE2QAAAAAYoIMAAAAQEyQAQAA\nAIgJMgAAAACxg60HAPvn/tvPbD1hJzf+0T9sPWEnj3703VtPAAAATpgTMgAAAAAxQQYAAAAgJsgA\nAAAAxAQZAAAAgJggAwAAABATZAAAAABiggwAAABATJABAAAAiAkyAAAAADFBBgAAACAmyAAAAADE\nBBkAAACAmCADAAAAEBNkAAAAAGKCDAAAAEBMkAEAAACICTIAAAAAMUEGAAAAICbIAAAAAMQEGQAA\nAICYIAMAAAAQE2QAAAAAYoIMAAAAQEyQAQAAAIgJMgAAAAAxQQYAAAAgJsgAAAAAxAQZAAAAgJgg\nAwAAABATZAAAAABiggwAAABATJABAAAAiAkyAAAAADFBBgAAACAmyAAAAADEBBkAAACAmCADAAAA\nEBNkAAAAAGKCDAAAAEBMkAEAAACICTIAAAAAsYOtBwBs5dGPvnvrCTu59ZNnt56wk/tvP7P1BAAA\nuGQ4IQMAAAAQE2QAAAAAYoIMAAAAQEyQAQAAAIgJMgAAAAAxQQYAAAAgJsgAAAAAxAQZAAAAgJgg\nAwAAABATZAAAAABiggwAAABATJABAAAAiAkyAAAAADFBBgAAACAmyAAAAADEBBkAAACAmCADAAAA\nEBNkAAAAAGKCDAAAAEBMkAEAAACICTIAAAAAMUEGAAAAICbIAAAAAMQEGQAAAICYIAMAAAAQE2QA\nAAAAYoIMAAAAQEyQAQAAAIgJMgAAAAAxQQYAAAAgJsgAAAAAxAQZAAAAgJggAwAAABATZAAAAABi\nggwAAABATJABAAAAiAkyAAAAADFBBgAAACAmyAAAAADEBBkAAACAmCADAAAAEDvYegAAL+7WX7l+\n6wk7+cxXH996wnm9942v3nrCTn7wzLNbT9jJlVf4MQIA4KickAEAAACICTIAAAAAMUEGAAAAICbI\nAAAAAMQEGQAAAICYIAMAAAAQE2QAAAAAYoIMAAAAQEyQAQAAAIgJMgAAAAAxQQYAAAAgJsgAAAAA\nxAQZAAAAgJggAwAAABATZAAAAABiggwAAABATJABAAAAiAkyAAAAADFBBgAAACAmyAAAAADEBBkA\nAACAmCADAAAAEBNkAAAAAGKCDAAAAEBMkAEAAACICTIAAAAAMUEGAAAAICbIAAAAAMQEGQAAAICY\nIAMAAAAQE2QAAAAAYoIMAAAAQEyQAQAAAIgJMgAAAAAxQQYAAAAgJsgAAAAAxAQZAAAAgJggAwAA\nABATZAAAAABiggwAAABA7GDrAQC8uPe+8dVbT9gbd33h0a0n7OSud9649QQAAC4wJ2QAAAAAYoIM\nAAAAQEyQAQAAAIgJMgAAAAAxQQYAAAAgJsgAAAAAxAQZAAAAgJggAwAAABATZAAAAABiggwAAABA\nTJABAAAAiAkyAAAAADFBBgAAACAmyAAAAADEBBkAAACAmCADAAAAEBNkAAAAAGLnDTJzzk/MOZ+Y\ncz7ynOd+fs754Jzza4efr76wMwEAAAD2xy4nZD41xnjXTz334THGl9Zarx9jfOnwMQAAAAA7OG+Q\nWWt9eYzx3Z96+j1jjE8ffv3pMcbvnvAuAAAAgL111PeQuW6t9a3Dr789xrjuhPYAAAAA7L1jv6nv\nWmuNMdYL/fmc844550NzzoeefOrJ494OAAAA4JJ31CDznTnn9WOMcfj5iRe6cK11z1rr9Frr9Klr\nTx3xdgAAAAD746hB5nNjjPcdfv2+Mcbfn8wcAAAAgP23y6+9vm+M8a9jjBvnnI/POd8/xviTMcbb\n55xfG2PcfPgYAAAAgB0cnO+CtdZtL/BHv3XCWwAAAAAuC8d+U18AAAAAfjaCDAAAAEBMkAEAAACI\nCTIAAAAAMUEGAAAAICbIAAAAAMQEGQAAAICYIAMAAAAQE2QAAAAAYoIMAAAAQEyQAQAAAIgJMgAA\nAAAxQQYAAAAgJsgAAAAAxAQZAAAAgNjB1gMAeHH/8c3vbT1hJ2963VVbTzivu95549YTdnLXFx7d\nesJOLpXvJwDAxcgJGQAAAICYIAMAAAAQE2QAAAAAYoIMAAAAQEyQAQAAAIgJMgAAAAAxQQYAAAAg\nJsgAAAAAxAQZAAAAgJggAwAAABATZAAAAABiggwAAABATJABAAAAiAkyAAAAADFBBgAAACAmyAAA\nAADEBBkAAACAmCADAAAAEBNkAAAAAGKCDAAAAEBMkAEAAACICTIAAAAAMUEGAAAAICbIAAAAAMQE\nGQAAAICYIAMAAAAQE2QAAAAAYoIMAAAAQEyQAQAAAIgJMgAAAAAxQQYAAAAgJsgAAAAAxAQZAAAA\ngJggAwAAABATZAAAAABiggwAAABATJABAAAAiAkyAAAAADFBBgAAACAmyAAAAADEBBkAAACA2MHW\nAwB4cW963VVbTyB21ztv3HrCTj7wwMNbT9jJ3bfctPUEAID/xwkZAAAAgJggAwAAABATZAAAAABi\nggwAAABATJABAAAAiAkyAAAAADFBBgAAACAmyAAAAADEBBkAAACAmCADAAAAEBNkAAAAAGKCDAAA\nAEBMkAEAAACICTIAAAAAMUEGAAAAICbIAAAAAMQEGQAAAICYIAMAAAAQE2QAAAAAYoIMAAAAQEyQ\nAQAAAIgJMgAAAAAxQQYAAAAgJsgAAAAAxAQZAAAAgJggAwAAABATZAAAAABiggwAAABATJABAAAA\niAkyAAAAADFBBgAAACAmyAAAAADEBBkAAACAmCADAAAAEBNkAAAAAGKCDAAAAEBMkAEAAACICTIA\nAAAAMUEGAAAAICbIAAAAAMQEGQAAAIDYwdYDAIBL09233LT1hJ1cfcs9W0/YydMP3LH1BAAg5IQM\nAAAAQEyQAQAAAIgJMgAAAAAxQQYAAAAgJsgAAAAAxAQZAAAAgJggAwAAABATZAAAAABiggwAAABA\nTJABAAAAiAkyAAAAADFBBgAAACAmyAAAAADEBBkAAACAmCADAAAAEBNkAAAAAGKCDAAAAEBMkAEA\nAACICTIAAAAAMUEGAAAAICbIAAAAAMQEGQAAAICYIAMAAAAQE2QAAAAAYoIMAAAAQEyQAQAAAIgJ\nMgAAAAAxQQYAAAAgJsgAAAAAxAQZAAAAgJggAwAAABATZAAAAABiggwAAABATJABAAAAiAkyAAAA\nADFBBgAAACAmyAAAAADEBBkAAACAmCADAAAAEBNkAAAAAGKCDAAAAEDsYOsBAAAX0tMP3LH1hJ18\n4IGHt56wk7tvuWnrCQCwF5yQAQAAAIgJMgAAAAAxQQYAAAAgJsgAAAAAxAQZAAAAgJggAwAAABAT\nZAAAAABiggwAAABATJABAAAAiAkyAAAAADFBBgAAACAmyAAAAADEBBkAAACAmCADAAAAEBNkAAAA\nAGKCDAAAAEBMkAEAAACICTIAAAAAMUEGAAAAICbIAAAAAMQEGQAAAICYIAMAAAAQE2QAAAAAYoIM\nAAAAQEyQAQAAAIgJMgAAAAAxQQYAAAAgJsgAAAAAxAQZAAAAgJggAwAAABATZAAAAABiggwAAABA\nTJABAAAAiAkyAAAAADFBBgAAACAmyAAAAADEBBkAAACAmCADAAAAEBNkAAAAAGKCDAAAAEBMkAEA\n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\nQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f316084f400>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(20,20))\n",
    "plt.imshow(cm, cmap=\"Blues\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 用字典提升正确率"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 94,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The number of steps needed is: 1\n"
     ]
    }
   ],
   "source": [
    "from nltk.metrics import edit_distance\n",
    "steps = edit_distance(\"STEP\", \"STOP\")\n",
    "print(\"The number of steps needed is: {0}\".format(steps))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 95,
   "metadata": {},
   "outputs": [],
   "source": [
    "def compute_distance(prediction, word):\n",
    "    return len(prediction) - sum(prediction[i] == word[i] for i in range(len(prediction)))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 96,
   "metadata": {},
   "outputs": [],
   "source": [
    "from operator import itemgetter\n",
    "def improved_prediction(word, net, dictionary, shear=0.2):\n",
    "    captcha = create_captcha(word, shear=shear)\n",
    "    prediction = predict_captcha(captcha, net)\n",
    "    prediction = prediction[:4]\n",
    "    if prediction not in dictionary:\n",
    "        distances = sorted([(word, compute_distance(prediction, word))\n",
    "                            for word in dictionary],\n",
    "                           key=itemgetter(1))\n",
    "        best_word = distances[0]\n",
    "        prediction = best_word[0]\n",
    "    return word == prediction, word, prediction"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 97,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/home/dlinking-lxy/more-space/pyworks/venv/lib/python3.5/site-packages/skimage/transform/_warps.py:84: UserWarning: The default mode, 'constant', will be changed to 'reflect' in skimage 0.15.\n",
      "  warn(\"The default mode, 'constant', will be changed to 'reflect' in \"\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number correct is 284\n",
      "Number incorrect is 5229\n"
     ]
    }
   ],
   "source": [
    "num_correct = 0\n",
    "num_incorrect = 0\n",
    "for word in valid_words:\n",
    "    correct, word, prediction = improved_prediction (word, net, valid_words, shear=0.2)\n",
    "    if correct:\n",
    "        num_correct += 1\n",
    "    else:\n",
    "        num_incorrect += 1\n",
    "print(\"Number correct is {0}\".format(num_correct))\n",
    "print(\"Number incorrect is {0}\".format(num_incorrect))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.5.2"
  },
  "toc": {
   "colors": {
    "hover_highlight": "#DAA520",
    "navigate_num": "#000000",
    "navigate_text": "#333333",
    "running_highlight": "#FF0000",
    "selected_highlight": "#FFD700",
    "sidebar_border": "#EEEEEE",
    "wrapper_background": "#FFFFFF"
   },
   "moveMenuLeft": true,
   "nav_menu": {
    "height": "119px",
    "width": "253px"
   },
   "navigate_menu": true,
   "number_sections": true,
   "sideBar": true,
   "threshold": 4,
   "toc_cell": false,
   "toc_section_display": "block",
   "toc_window_display": false,
   "widenNotebook": false
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
